/**
 *博尔信基础开发平台
 *<br> 版权声明：厦门博尔信软件有限公司版权所有,违者必究
 *<br> Copyright:  Copyright (c) 2012
 *<br> Company:pearlsoft
 *<br> @author 蒋勇华
 *<br> 2012-4-5
 *<br> @version 1.0
 *————————————————————————————————————
 *修改记录
 *    修改者：
 *    修改时间：
 *    修改原因：
 *——————————————————————————————————————
 */
package com.pearlsoft.util;

import java.util.LinkedList;

/**
 *描述:扩展LinkedList，值为null时不抛异常
 *
 * 
 */
public class NLinkedList<E> extends LinkedList<E>{
	
	/***
	 * 获取但不移除此列表的第一个元素；如果此列表为空，则返回 null。
	 * @return
	 */
    public E peekFirst() {
        if (this.size()==0)
            return null;
        return this.getFirst();
    }
    /***
     * 获取但不移除此列表的最后一个元素；如果此列表为空，则返回 null
     * @return
     */
    public E peekLast() {
        if (this.size()==0)
            return null;
        return this.getLast();
    }
    /***
     * 获取并移除此列表的第一个元素；如果此列表为空，则返回 null。 
     * @return
     */
    public E pollFirst() {
        if (this.size()==0)
            return null;
        return this.removeFirst();
    }
    /***
     * 获取并移除此列表的最后一个元素；如果此列表为空，则返回 null。 
     * @return
     */
    public E pollLast() {
        if (this.size()==0)
            return null;
        return this.removeLast();
    }
    /***
     * 在此列表的开头插入指定的元素。 
     * @param e
     * @return
     */
    public boolean offerFirst(E e) {
        addFirst(e);
        return true;
    }
    /***
     * 在此列表末尾插入指定的元素。
     * @param e
     * @return
     */
    public boolean offerLast(E e) {
        addLast(e);
        return true;
    }

}
